﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ApuestasJMG.GUI.Contrato;
using ApuestaJMG.GUI.Presentador;
using ApuestasJMG.GUI.Presentador;
using System.Web.UI.WebControls;
//using System.Web.UI.DataVisualization;
using Datos.Entidades;
using System.Windows.Forms;



namespace ApuestaJMG.GUI
{
    public partial class AgregarUsuario : System.Web.UI.Page, IContratoCrearUsuario
    {
        private PresentadorCrearUsuario _presentadorCreacionUsuario;

        public AgregarUsuario()
        {
            _presentadorCreacionUsuario = new PresentadorCrearUsuario(this);
        }


        protected void Page_Load(object sender, EventArgs e)
        {
            
            if (Session["rolUsuario"].ToString()!="Administrador")
            {
                Response.Redirect("index.aspx?Error=1");
            }
            _presentadorCreacionUsuario.MostrarRoles();
           /* if (!IsPostBack) // If page loads for first time
            {
                PresentadorCrearUsuario _presentador = new PresentadorCrearUsuario(this);
                _presentador.InsertarUsuarioNuevo();
                
            }
            */
        }
        public void MostrarMensaje(String script)
        {

            this.RegisterStartupScript("alerta", script);
         
        }


        protected void Button1_Click(object sender, EventArgs e)
        {
            Entidad usuario = new Usuario();
            String email = TxtEmail.Text;
            bool existe = _presentadorCreacionUsuario.UsuarioExiste(email);

            if (existe == false)
            {
                bool respuesta = _presentadorCreacionUsuario.Validacion();

                int idMaxUsuario;
                string loginUsuario;
                string clave;
                string nombreRol;
              

                if (respuesta == true)
                {

                    int posRol = rol.SelectedIndex;
                    _presentadorCreacionUsuario.InsertarUsuarioNuevo(posRol);
                    usuario = _presentadorCreacionUsuario.UltimoUsuarioAgregado();
                    idMaxUsuario = (usuario as Usuario).Id_Usuario;
                    loginUsuario = (usuario as Usuario).Login;
                    nombreRol = rol.SelectedItem.Value.ToString();
                   
                    clave = (usuario as Usuario).Clave;

                    //  String loginUsuario = Session["loginUsuario"].ToString();
                    //  Response.Redirect("index.aspx?loginUsuario=" + loginUsuario);
                    // String script = @"<script language = ""JavaScript""> alert('Se ha creado el perfil satisfactoriamente');index.aspx?loginUsuario=" +loginUsuario +"; </script>";
                    //MostrarMensaje(script);



                    Response.Redirect("index.aspx");




                }
                else {
                    Response.Redirect("AgregarUsuario.aspx");
                }
            }
            else
            {
                MessageBoxIcon mci = new MessageBoxIcon();
                string mensaje = "El usuario ya se encuentra registrado";
                mci = MessageBoxIcon.Information;
                MessageBox.Show(mensaje, "Registro de usuario",
                   MessageBoxButtons.OK, mci);

        
            }
        }

        public System.Web.UI.WebControls.TextBox nombre
        {
            get
            {
                { return TxtNombre; }
            }
            set
            {
                { nombre = value; }
            }
        }

        public System.Web.UI.WebControls.TextBox apellido
        {
            get
            {
                { return TxtApellido; }
            }
            set
            {
                { apellido = value; }
            }
        }



        public System.Web.UI.WebControls.TextBox email
        {
            get
            {
                { return TxtEmail; }
            }
            set
            {
                { email = value; }
            }
        }

        public System.Web.UI.WebControls.TextBox telefono
        {
            get
            {
                { return TxtTelefono; }
            }
            set
            {
                {telefono = value;}
            }
        }

        public System.Web.UI.WebControls.TextBox clave
        {
            get
            {
                { return TxtContraseña; }

            }
            set
            {
                { clave = value; }
            }
        }

        public System.Web.UI.WebControls.TextBox login
        {
            get
            {
                { return TxtLogin; }
            }
            set
            {
                {login = value;}
            }
        }




        public System.Web.UI.WebControls.TextBox cedula
        {
            get
            {
                { return TxtCedula; }
            }
            set
            {
                { cedula = value; }
            }
        }


        public DropDownList rol
        {
            get
            {
                { return Roles; }
            }
            set
            {
                { Roles= value; } 
            }
        }

     

        protected void Roles_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void cmdCancelar_Click(object sender, EventArgs e)
        {
            Response.Redirect("Inicio.aspx");
            
        }

      
        

        
    }
}
